﻿using Library.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using TRULE = System.Linq.Expressions.Expression<System.Func<System.Linq.IQueryable<System.Linq.Expressions.Expression>, System.Collections.Generic.IEnumerable<System.Collections.Generic.IEnumerable<System.Linq.Expressions.Expression>>>>;
using TEXPRESSION = System.Linq.Expressions.Expression;

namespace Library.Logic.Constraints
{
    public interface IEffectsReadOnly : IHasInputParameters, IVectorReadOnly<TEXPRESSION>, IContainer<TEXPRESSION>, IQueryable<TEXPRESSION>
    {
        object Invoke(object[] args);
    }

    public interface IEffects : IEffectsReadOnly, IList<TEXPRESSION>, IEnsureContains<TEXPRESSION> { }
}
